If B<16 Then On B Gosub LEAIFF,LEAABK,QUIT,SAVIFF,SAVABK,ABOUT,PALET,RMAP,DWNCOLOR,ANALYSIS,OPTIMIZE,SCREEFORMAT,SHOPIC,DRAG,WORKBENCH : B=0
If B>15 and B<30 Then On B-15 Gosub CHOSEXCH2,CHOSCOPY2,SORCOLS,RESTCOLS,OK,CANCEL,CHOSCOPY,CHOSEXCH,CHOSSPRE,CHOSPICK,UNDOCOLOR,RESTOR,OK,CANCEL : B=0
If B>29 Then On B-29 Gosub SETMOD,SETMOD,SETMOD,SETMOD,SETCOL,SETCOL,SETCOL,SETCOL,SETCOL,OK,CANCEL : B=0
Return
ABOUT:
Gosub DISABLE : Amreg(1)=2
Screen Hide 1 : If PIC Then Screen Hide 0
For A=0 To 31 : UN(A)=Colour(A) : Next
Unpack 14 To 2 : Screen Hide 2
Screen 1 : Get Palette 2
Screen 2 : For A=0 To 15 : Colour A,0 : Next
Y=10 : YS=0 : Wait Vbl
Fade 4 To 1 : Screen Show 2
Repeat
Add Y,YS/2 : If Y>200 Then Y=200 : YS=Min(0,-YS+5) Else Inc YS
Screen Display 2,,Y,, : Wait Vbl
Until YS=0 and Y=200
While Mouse Key=0 : Multi Wait : Wend
For A=$FFF To 0 Step -$111
Colour Back A : View : Wait Vbl : Wait Vbl
For B=0 To 7 : Colour B,A : Next
For B=0 To 7 : Colour B+8,Max(A-B*$111,0) : Next
Next
Screen Close 2
Screen 1
For A=0 To 31 : Colour A,UN(A) : Next : Wait Vbl
If PIC Then Screen Show 0
Screen Show 1 : Screen To Front
Gosub ENABLE : Amreg(1)=1
Return
OK:
PAG=1
Return
CANCEL:
PAG=-1
Return
DWNCOLOR:
If PIC=0 or AC=2 or SPMO>1 Then Return
Gosub DISABLE
Screen Open 2,320,72,4,0
Curs Off : Flash Off : Paper 2 : Pen 1 : Cls
Screen Display 2,128,YP,320,72
Get Sprite Palette
B[0,0,319,71]
Screen Hide 1
Colour 17,$FF : Colour 18,$88 : Colour 19,$44
Amreg(1)=1
T[2,2,"ENTER THE NUMBER OF COLORS TO REDUCE TO"]
T[2,11,"OR PRESS ESC TO ABORT:"]
A$=Str$(AC)-" " : B$=" " : MO=0
Repeat
If Amos Here=0 Then Gosub WORKBENCH
I$=Inkey$ : Multi Wait
If(I$=>"0") and(I$<="9") Then A$=Left$(A$+I$,2)
If(Asc(I$)=8) and(A$<>"") Then A$=Left$(A$,Len(A$)-1)
If Val(A$)>32 Then A$="32"
If Val(A$)<2 and Len(A$)=2 Then A$="2"
If B$<>A$
B$=A$ : Ink 2 : Bar 178,11 To 194,20
T[178,11,A$]
End If
Until(I$=Chr$(27)) or(I$=Chr$(13))
A=Val(A$)
Gosub DWNCOL
Screen Show 1 : Screen To Front 1
Screen Close 2
Amreg(1)=1
Limit Mouse 128,YP To 447,71+YP
Gosub ENABLE
Return
DWNCOL:
If(A$="") or(I$=Chr$(27)) or A=AC Then T[2,30,"ABORTED!"] : Wait 25 : Return
If A<2 Then T[2,30,"ILLEGAL NUMBER OF COLORS!"] : Wait 25 : Return
If A>AC Then T[2,30,"USE SCREEN FORMAT TO INCREASE COLORS!"] : Wait 25 : Return